package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.IdDto;
import com.ruoyi.system.domain.PushMsgDto;
import com.ruoyi.system.domain.SysPushRecord;

/**
 * 消息推送Service接口
 *
 * @author ruoyi
 * @date 2025-08-31
 */
public interface ISysPushRecordService
{
    /**
     * 查询消息推送
     *
     * @param id 消息推送主键
     * @return 消息推送
     */
    public SysPushRecord selectSysPushRecordById(Long id);

    /**
     * 查询消息推送列表
     *
     * @param sysPushRecord 消息推送
     * @return 消息推送集合
     */
    public List<SysPushRecord> selectSysPushRecordList(SysPushRecord sysPushRecord);
    public List<Map<String, Object>> selectSysPushRecords(SysPushRecord sysPushRecord);

    /**
     * 新增消息推送
     *
     * @param sysPushRecord 消息推送
     * @return 结果
     */
    public int insertSysPushRecord(SysPushRecord sysPushRecord);

    /**
     * 修改消息推送
     *
     * @param sysPushRecord 消息推送
     * @return 结果
     */
    public int updateSysPushRecord(SysPushRecord sysPushRecord);

    /**
     * 批量删除消息推送
     *
     * @param ids 需要删除的消息推送主键集合
     * @return 结果
     */
    public AjaxResult deleteSysPushRecordByIds(String[] ids);

    /**
     * 删除消息推送信息
     *
     * @param id 消息推送主键
     * @return 结果
     */
    public int deleteSysPushRecordById(Long id);

    AjaxResult pushMessage(PushMsgDto dto);

    AjaxResult noticeList();

    AjaxResult noticeDetail(IdDto dto);

    List<SysPushRecord> noticeAppList(SysPushRecord sysPushRecord);

    AjaxResult test( PushMsgDto dto);

    AjaxResult view(String batchNo);
}
